Embodiments of the present invention relate to user interface programs commonly known as “wizards,” such as may be provided to help a user install or configure software programs.
Wizards are a standard user interface convention in all facets of computing, and are especially common in helping users accomplish complicated installation and configuration tasks. Wizards are a means of gathering input from the user at each step in a multi-step process, essentially by presenting the user with a series of screens that request the information. Wizards also guide the user through the configuration or installation routine in a relatively fail-proof manner, so that the user does not control the sequence of steps, and therefore eliminate the possibility of user error. Wizards are most commonly used to guide a user through a complex process or to guide novice users.
One problem with the usability of wizards has been the fact that it is often difficult for the user to understand where in the wizard (i.e., at what step in the wizard) the user is currently located. This lack of “sense of place” within the wizard may be exacerbated (1) when the wizard is unfamiliar to the user, so that the user cannot tell how many steps are ahead and what he will have to do at each of these future steps, (2) when the wizard contains many steps, so that that the user forgets how many steps has already been completed or what input was provided in each of those previous steps, (3) when the wizard contains branches (i.e., the number or nature of the steps the user must complete in future is altered depending on the user's input in previous steps), and (4) when the wizard contains loops (i.e., the user may cycle through a subset of steps in the wizard multiple times).
A second long-standing problem with the usability of wizards involves a situation where some steps in the wizard do not apply to the user. The user will naturally wish to save time by skipping over those irrelevant steps and navigating immediately to those steps which are relevant to the user. Commonly, there is no solution to this second usability problem (i.e., the inability to skip immediately over irrelevant steps). Instead, the user has been forced to waste time by going through all of the irrelevant steps, because the most common navigational mechanism within wizards has been a strictly sequential navigation mechanism which only permits the user to navigate to the steps immediately before or after the current step.